home *** CD-ROM | disk | FTP | other *** search
- #ifndef _pool8_h
- #define _pool8_h
-
- #ifndef _pool_h
- # include "pool.h"
- #endif
-
- class HalfBallMover;
-
- class Pool8 : public Pool {
- public:
- Pool8(double ft); // Parameter: Tischgr÷▀e in Fu▀
- virtual ~Pool8();
-
- void InitTable();
- virtual void InitPlayground();
- virtual void DrawBackground() const;
-
- virtual void InPocket( Ball *b );
- virtual int IsSelectable(Ball *b);
-
- protected:
- void Triangle( double x, double y );
- void Triangle( const Vec2 &v ) { Triangle(v.X(),v.Y()); }
- ColorId black_col;
- ColorId full_col; // fⁿr Normal-Mode
- ColorId half_col; // fⁿr Normal-Mode
- ColorId ball_col[7]; // fⁿr Deluxe-Mode
-
- HalfBallMover *mh;
-
- private:
- Ball *ball[15]; // 0-6 full // 7 black // 8-15 half
-
- int balls_in_pocket;
- };
-
-
- class Pool8Demo : public Pool8 {
- public:
- Pool8Demo( double ft, double s=100.0 ) : Pool8(ft), shot_speed(s) {}
- virtual ~Pool8Demo();
-
- virtual const Real &GetPresetA() const;
- virtual const Real &GetSlowGranularity() const;
-
- virtual void InitPlayground();
- virtual void DrawBackground() const;
-
- protected:
- Real shot_speed;
-
- public:
- static Real PresetA;
- static Real SlowGranularity;
- };
-
- #ifdef DEBUG
- class Pool8Test : public Pool8Demo {
- public:
- Pool8Test( double ft, double s=100.0 ) : Pool8Demo(ft,s) {}
- virtual ~Pool8Test();
- virtual void InitPlayground();
- virtual void DrawBackground() const;
-
- private:
- class TestField *field_queue;
-
- friend class TestField;
- };
- #endif
-
- #endif
-